1. Field of the Invention
The present invention is directed to computer systems; and more particularly, it is directed to interactive editing of digital images.
2. Description of the Related Art
Digital images may include raster graphics, vector graphics, or a combination thereof. Raster graphics data (also referred to herein as bitmaps) may be stored and manipulated as a grid of individual picture elements called pixels. A bitmap may be characterized by its width and height in pixels and also by the number of bits per pixel. Commonly, a color bitmap defined in the RGB (red, green blue) color space may comprise between one and eight bits per pixel for each of the red, green, and blue channels. An alpha channel may be used to store additional data such as per-pixel transparency values. Vector graphics data may be stored and manipulated as one or more geometric objects built with geometric primitives. The geometric primitives (e.g., points, lines, polygons, Bézier curves, and text characters) may be based upon mathematical equations to represent parts of digital images.
Digital image processing is the process of analyzing and/or modifying digital images using a computing device, e.g., a computer system. Using specialized software programs, digital images may be manipulated and transformed in a variety of ways. For example, it may be desirable to select a region within a digital image and apply a particular image transformation to the selected region.
In an approach referred to as “region-based scribbling,” the user may enter a freeform “scribble” inside an object in an image and another scribble outside the object; a mask may then be determined for the object based on the scribbles. In the case of foreground-background separation, the user may be required to place foreground scribbles inside a foreground object and background scribbles outside the foreground object. To create multiple regions, scribbles may be required to be placed inside each region to function as seeds. Various algorithms may then be employed to partition the image into two or more regions, using the scribbles as hard constraints.